iT邦幫忙

2023 iThome 鐵人賽

DAY 5
0

Spring Data JPA

幫助連接資料庫與建立資料表,達到數據持久化使其可以被訪問

可以通過定義實體類(Entity Class)來表示數據庫中的表,通過註釋來標記實體類及其屬性數據庫表和列之間的映射,如:@Entity、@Id、@Table、@Column等。

@Entity

用於將Java對象映射到關係數據庫中的表格。通過使用@Entity註解,你可以告訴Spring Boot框架這個類應該被視為一個可持久化的實體,它的實例可以被存儲到數據庫中,並且可以通過JPA進行管理。

@Table

指定實體類別對應的數據庫表的名稱和其他相關設置。可以指定表名(name)、索引(indexes)、唯一約束(uniqueConstraints)等。

@Id

指定實體類別中的一個欄位作為主鍵,該欄位將映射到數據庫表的主鍵欄位。

@GeneratedValue

設定主鍵的生成策略,可以是自動增長、UUID、序列等方式。

GenerationType.IDENTITY:
由數據庫自動增長來生成主鍵值(適用於支持自動增長的數據庫,如 MySQL 的 AUTO_INCREMENT)。
GenerationType.AUTO:
由 JPA 驅動自動選擇適合的主鍵生成策略(這是預設值)。
GenerationType.SEQUENCE:
使用數據庫的序列來生成主鍵值(適用於支持序列的數據庫,如 Oracle)。
GenerationType.TABLE:
使用一個特定的數據庫表來保存主鍵的生成狀態。
GenerationType.UUID:
使用 UUID(通用唯一標識符)來生成主鍵值。

@Column

指定實體類別中一個屬性與數據庫表中的一個列的映射關係。可以指定列名、長度、是否允許為空等。

name:
用於指定該屬性在數據庫表中對應的列名稱。默認情況下,列名將與屬性名稱相同。
unique
屬性是否唯一
nullable:
指示該屬性是否可以為空(true 表示可為空,false 表示不可為空)。默認值為 true。
length:
用於指定列的最大長度(僅適用於 String 屬性)。
precision 和 scale:
用於指定數值類型屬性的精度和小數位數。

@OneToOne

建立實體類別之間的一對一關係映射。這表示一個實體類別的物件關聯到另一個實體類別的物件,而且每個物件只有一個相關聯的對象。

@OneToMany

建立一對多的關係映射,在一端實體類別中使用該註解,表示一個對多的關係,可以將多個子實體關聯到同一個父實體。

@ManyToOne

建立多對一的關係映射,在多端實體類別中使用該註解,表示多個子實體關聯到同一個父實體。

@ManyToMany

建立多對多的關係映射,需要中介表來存儲關聯關係,用於表示一個實體可以關聯多個其他實體。

@JoinColumn

設定關聯表之間的外鍵映射。在多對一或一對多關係中,用於指定關聯的外鍵欄位。


上一篇
了解Spring Boot註解:簡單指南
下一篇
在Spring Boot中去連結PostgreSQL資料庫
系列文
Spring Boot & Android Studio教學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言